package com.chen.dao;

import com.chen.pojo.Court;
import com.chen.vo.CourtVo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

import java.util.List;

public interface CourtMapper {

    //增加一个球场
    int addCourt1(Court court);

    //根据id删除一个球场
    @Delete("delete from csrsystem.csrsystem_court where court_id = #{courtId}")
    int deleteCourtById(@Param("courtId") int courtId);

    //修改一个球场的信息
    int updateCourt1(Court court);

    //根据id查询球场
    @Select("select * from csrsystem.csrsystem_court where court_id = #{courtId}")
    Court queryCourtById(@Param("courtId") int courtId);

    //根据类型查找球场
    @Select("select * from csrsystem.csrsystem_court where court_type = #{courtType}")
    List<Court> queryCourtByType(@Param("courtType") int courtType);

    //模糊查询
   // @Select("select * from csrsystem.csrsystem_court where court_name like '%'#{value}'%' ")
    List<Court> queryCourtLike(String value);

    //查询全部球场，返回list集合
    @Select("select * from csrsystem.csrsystem_court")
    List<Court> queryAllCourt();

    /**
     * 查询球场列表
     * @return
     */
    List<Court> list(CourtVo courtVo);

    /**
     * 添加一个球场
     * @param court
     * @return
     */
    int addCourt(Court court);

    /**
     * 修改一个球场
     * @param court
     * @return
     */
    int updateCourt(Court court);

    /**
     * 删除球场
     * @param courtId
     * @return
     */
    @Delete("delete from csrsystem.csrsystem_court where court_id = #{courtId}")
    int deleteById(@Param("courtId") Integer courtId);

    /**
     * 通过地址进行查询球场，地址里面分了南区北区，也就是显示南区和北区的球场, @Param("size")Integer size
     * @param courtAddress
     * @param size
     * @return
     */
    List<Court> findCourtByAddress(@Param("courtAddress") String courtAddress ,@Param("size")Integer size);

    /**
     * 根据球场编号查找进入球场详情页
     * @param courtID
     * @return
     */
    Court findById(@Param("courtId") Integer courtID);

    /**
     * 查询球场列表带时间端段
     * @return
     */
    List<Court> listTime(CourtVo courtVo);

    /**
     * 根据地址查询 南区
     * @param courtVo
     * @return
     */
    List<Court> addressList1(CourtVo courtVo);

    /**
     * 根据地址查询 北区
     * @param courtVo
     * @return
     */
    List<Court> addressList2(CourtVo courtVo);

    /**
     * 根据地址查询 体育馆
     * @param courtVo
     * @return
     */
    List<Court> addressList3(CourtVo courtVo);
}
